﻿using System;
using System.Runtime.InteropServices;

namespace Ast.Core.Services.ObjectDefinitions
{
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto, Pack = 1)]
    public struct ObjectDirectoryEntry
    {
        public IntPtr ChainLink;

        public IntPtr Object;

        public uint HashValue;
    }

    /*
lkd> dt _OBJECT_DIRECTORY_ENTRY -v
nt!_OBJECT_DIRECTORY_ENTRY
struct _OBJECT_DIRECTORY_ENTRY, 3 elements, 0xc bytes
    +0x000 ChainLink        : Ptr32 to struct _OBJECT_DIRECTORY_ENTRY, 3 elements, 0xc bytes
    +0x004 Object           : Ptr32 to Void
    +0x008 HashValue        : Uint4B
    */
}